package com.malty.mall.service.pms;

import com.baomidou.mybatisplus.extension.service.IService;
import com.malty.mall.domain.dto.query.BrandQuery;
import com.malty.mall.domain.dto.req.pms.PmsBrandParam;
import com.malty.mall.domain.dto.req.UpdateStatusReq;
import com.malty.mall.domain.entity.pms.PmsBrand;

import java.util.List;

/**
 * @author malty
 */
public interface IPmsBrandService extends IService<PmsBrand> {
    /**
     * 创建品牌
     *
     * @param brandParam 品牌信息
     * @return
     */
    Boolean create(PmsBrandParam brandParam);

    /**
     * 编辑品牌
     *
     * @param brandParam 品牌信息
     * @return 操作结果
     */
    Boolean updateById(PmsBrandParam brandParam);

    /**
     * 创建品牌
     *
     * @param updateStatusReq 品牌信息
     * @return 操作结果
     */
    Boolean updateShowStatus(UpdateStatusReq updateStatusReq);

    /**
     * 创建品牌
     *
     * @param statusReq 品牌信息
     * @return 操作结果
     */
    Boolean updateFactoryStatus(UpdateStatusReq statusReq);

    /**
     * 创建品牌
     *
     * @param id 品牌id
     * @return 品牌信息
     */
    PmsBrandParam getBrandById(Integer id);

    /**
     * 查询所以品牌
     *
     * @return 品牌列表
     */
    List<PmsBrandParam> listAll();

    /**
     * 创建品牌
     *
     * @return
     */
    List<PmsBrandParam> listBrands(Integer pageNum, Integer pageSize, BrandQuery brandQuery);

    /**
     * 删除品牌
     *
     * @param id id
     * @return 删除结果
     */
    Boolean deleteById(Integer id);
}
